Method and apparatus for compressing SAR signals

ABSTRACT

A method compresses synthetic aperture radar (SAR) data by sampling the SAR data into blocks and transforming each block to a corresponding block of transform coefficients. Each block of transform coefficient is quantized according to a quantization parameter to obtain a corresponding block of quantized transform coefficients, which are demultiplexed into sets of blocks of quantized transform coefficients. The quantized transform coefficients in the blocks in each set are arithmetically encoding in parallel according to a probability model to produce an intermediate bitstream for each set of blocks. The encoding of the quantized transform coefficients of one block is independent of the quantized transform coefficients of a successive block. The intermediate of bitstreams are then multiplexed to a compressed bitstream, which can be transmitted, or stored, for subsequent decoding to construct an SAR image.

FIELD OF THE INVENTION

The invention relates generally to compressing signals acquired bysynthetic aperture radar (SAR), and more particularly to compressing rawSAR signals in low complexity devices.

BACKGROUND OF THE INVENTION

Synthetic aperture radar (SAR) acquires raw radar data from targetobjects or terrain typically using a space-based platform.Post-processing converts the raw SAR data to an amplitude image andphase maps, such that objects and terrain can be visualized. Due to thevery high computational complexity, the SAR data processing is typicallyperformed on the ground.

FIG. 1 shows a conventional SAR system. Raw SAR data 101 are acquired bya space-based platform 110, e.g., a satellite, space station or shuttle.The raw data are transmitted 110 to a ground station for post-processing120 to obtain a SAR image 130.

Alternatively as shown in FIG. 2, compression 151 is applied to the rawSAR data 101 before transmission 120. Then, the compressed raw data aretransmitted to the ground station, where the data are decompressed 152and processed 120 to produce the SAR image 130. A high coding efficiencyis required to reduce the bandwidth of transmission, while at the sametime enabling a high quality reconstruction of the SAR image 130 fromthe compressed data.

It is known that standardized image compression methods, such as JPEG,are not suited for achieving high coding efficiency of raw SAR data. Themain reason is due to the noisy nature of the raw SAR data, which is notwell matched with the JPEG coding standard that has been optimized forcoding natural images. It is noted that the statistics of raw SAR data,which resemble Gaussian noise, are completely different from statisticsof natural image data.

Block adaptive quantization (BAQ) can be used to compress the raw SARdata acquired by the Magellan spacecraft, see e.g., U.S. Pat. No.5,661,477, “Methods for compressing and decompressing raw digital SARdata and devices for executing them,” and Kwok et al., “Block AdaptiveQuantization of Magellan SAR Data,” IEEE Trans on Geosc. and RemoteSensing, vol. 27, No. 4, pp. 375-383, July 1989, all incorporated hereinby reference. Similar to many conventional image compression methods,BAQ quantizes raw pixel values, e.g. from 8 bits to 4 bits. However, forinputs with a large dynamic range, such as raw data acquired by SAR, thequantization step size has to be adaptive to the level of input signalsin order to achieve more efficient compression. Therefore, BAQ adaptsthe quantization step size for each 16×16 block.

To achieve a higher resolution, the sampling rate of the raw data needsto increase. Given limitation in transmission bandwidth, a highercompression ratio is also needed, while maintaining the quality of theSAR image. BAQ could provide reasonably quality SAR images at moderatecompression ratios. However, it is known that the quality degradessubstantially when the compression ratio is greater than 2:1. Hence,there is a need to provide a method for compressing raw SAR at anincreased compression ratio without decreasing quality.

A number of methods are known for compressing processed SAR data, butrelatively few methods have been developed for compressing raw SAR data,see Delp et al., “Image Compression Using Block Truncation Coding(BTC)”, IEEE Transactions Communications, Vol. Com-27, No. 9, September1979, Magli et al., “Wavelet-based compression of SAR raw data,”Geoscience and Remote Sensing Symposium, 2002, IEEE International, pp.1129-1131, and “Frequency domain raw SAR data compression for multi-modeSAR Instruments,” National Aerospace Laboratory (NLR), EUSAR 2006, 16-18May 2006, all incorporated herein by reference.

The BTC method uses a two-level quantizer that adapts to local blockproperties of the SAR image. That method has a low complexity, and canachieve a high compression ratio, e.g., about 4:1. However, the qualityof the output image is substantially degraded. In general, BTC performsworse than BAQ.

Magli et al. apply adaptive quantization to blocks of pixels, as in BAQ.A digital wavelet transform (DWT) is first applied to the raw data, suchthat the BAQ is performed on wavelet coefficients in the frequencydomain. It is well known that the wavelet transform has a highcomputational complexity relative to block-based scheme and alsorequires significantly more memory. Thus, that method is not suitablefor low complexity devices.

The NLR (FFT-ECBAQ) method applies a 2-dimensional fast Fouriertransform (FFT) to the raw SAR data, and then an entropy-constrained BAQ(ECBAQ), followed by entropy encoding. The major drawback of that methodis the FFT causes cross-leak noise with smaller block sizes, whichimplies that larger FFT-sizes are preferred, e.g., an FFT size of128×64. However, that FFT is too complex to implement in low complexitydevices. In fact, that method relies on the fastest known FFT-orientedDSP ASIC (powerFFT™) to compute the long sized FFT. Without that chip,the transform size would have to be greatly reduced, to e.g., by afactor of 8 or 16. The maximum throughput of that method is up to 125mega-samples per second (MSPS), or 1 Gbits per second, assuming eachsample is 8 bits, which is not sufficient for applications requiringhigher throughputs, e.g. 4 Gbits per second, as required by applicationsthat aim to reconstruct high resolution SAR images.

It is desirable to have a method and apparatus for compressing raw SARdata, which can achieve an increased compression ratio, high resolutionSAR images, while maintaining low hardware complexity, and overcome thedisadvantages of the prior art.

SUMMARY OF THE INVENTION

A method compresses synthetic aperture radar (SAR) data by sampling theSAR data into blocks and transforming each block to a correspondingblock of transform coefficients. Each block of transform coefficient isquantized according to a quantization parameter to obtain acorresponding block of quantized transform coefficients, which aredemultiplexed into sets of blocks of quantized transform coefficients.The quantized transform coefficients in the blocks in each set arearithmetically encoding in parallel according to a probability model toproduce an intermediate bitstream for each set of blocks. The encodingof the quantized transform coefficients of one block is independent ofthe quantized transform coefficients of a successive block. Theintermediate of bitstream are then multiplexed to a compressedbitstream, which can be transmitted, or stored, for subsequent decodingto construct an SAR image.

The method can be implemented in field programmable gate arrays (FPGAs).A single FPGA can be used for the entire method. Alternatively, anindependent FPGA can be used for each block in the set to encode theblocks in the set in parallel. Another FPGA can then be used for thefront end steps.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1-2 are block diagrams of a prior art space-borne SAR systems;

FIG. 3 is a block diagram of the encoding process for compressing oneblock raw SAR data, according to the invention;

FIG. 4 is a block diagram of the process for decoding one block raw SARdata, according to embodiments of the invention;

FIG. 5 is a table for initializing a quantizing parameter according toembodiments of the invention;

FIG. 6 is a block diagram of block-based bit allocation, according toembodiments of the invention;

FIG. 7 is a flow diagram of a method for compressing raw SAR dataaccording to embodiment block-based rate control, according to theinvention;

FIG. 8 is a block diagram of modified arithmetic coding stricture withparallel design according to embodiments of the invention;

FIG. 9 is a block diagram of a single FPGA hardware design according toembodiments of the invention; and

FIGS. 10 and 11 are a block diagrams of a multiple FPGA hardware designaccording to embodiments of the invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

The embodiments of our invention describe a method and apparatus forcompressing raw synthetic aperture radar (SAR) signals. Due to thehardware constraints, such as memory size, processing power, bandwidthand throughput, the raw SAR data are compressed block by block. To limitcomplexity and in contrast with the prior art methods, the compressionmethod is design to be effective for relatively small block sizes, e.g.8×8 or 16×16 pixels. Although the focus of our invention is on limitedcomplexity implementations, larger block sizes can also be used.

FIG. 3 is a block diagram of our compression method 300. Raw SAR data301 is input to a transformation module 310. In a preferred embodimentof our invention, the transformation module is a one dimensionaldiscrete cosine transforms (1D-DCT), where DCT coefficients aredetermined. Higher dimensional transforms, as well as other transformbases, can also be used.

A variance of the raw data in each block is also determined 320. Aninitial quantization parameter (QP) is determined 330 according to atarget output bit rate or compression ratio stored in a table 500, seeFIG. 5. A rate control module 340 adjusts the initial QP according tothe variance, a pre-determined set of thresholds, and a bit usage ratiothat is based on output bits of previously coded blocks relative to thetarget bit-rate, to yield an adjusted QP value 601. Then, the adjustedQP value is used to quantize 350 the transform coefficients to yieldquantized transform coefficients.

The QP value 601 and the quantized transform coefficients 351 are sentto a modified arithmetic encoder 360, which uses a probability model361.

Our samples are independent and randomly distributed. Therefore, ourprobability model is conventional and represents the random distributionof the quantized transform coefficients. It is defined on our samplespace, samples and probabilities of each sample. The model can belinear, binomial, or Gaussian as known in the art. The model can belearned from SAR training data or updated based on previously codeddata. In our invention, a separate model is maintained for eachquantized transform coefficient in a block, e.g., the DC coefficient hasone probability model, while each of the AC coefficients have their ownprobability models.

Conventional arithmetic coding is well known for its efficientcompression capability. However, conventional arithmetic encoders arelimited to sequential processing. This means that conventionalarithmetic encoders are not suited for low complexity hardware deviceswith high throughput requirements. In our invention, we describe aparallel design for arithmetic encoding that makes it possible torealize higher throughput with low complexity hardware.

The output of our arithmetic encoder 360 is a compressed bitstream 302.A bit count is provided as feedback to the rate control module 340 toupdate 370 the total bit usage ratio, and adjust the QP as needed. It isnoted that the Qp used for encoding each block is also inserted into thecompressed bitstream to be used during subsequent decoding.

FIG. 4 shows the corresponding decoder 400, which reverses the encodingprocess. The compressed bit stream 302 is first passed to a modifiedarithmetic decoder 410. The decoded coefficients are inverse scalarquantized 420 by multiplying the corresponding QP 601 extracted 415 fromthe bitstream 302 with the transform coefficient. Then, an inverse1D-DCT transform 430 is applied to obtain reconstructed raw SAR data401.

FIG. 7 shows the method 700 in greater detail. We sample 710 SAR data709 acquired of an object or terrain 708 into small 8×8 blocks 711. A1D-DCT is applied 720 to produce corresponding blocks of transformcoefficients 711, which are quantized 730 according to a quantizationparameter (QP) 601 to obtain a corresponding block of quantizedtransform-coefficients 731.

The blocks 731 are demultiplexed 740 into sets of N blocks 741. The Nblocks in each set are encoded 750 arithmetically and in parallelaccording to a probability model 749 to produce an intermediatebitstream 751 for each set of blocks. The encoding of the quantizedtransform coefficients of one block is independent of the quantizedtransform coefficients of successive blocks. The intermediate bitstreamsare multiplexed 760 to a compressed bitstream 761 for further processingon the ground 762.

It should be noted that the demultiplexing 740 can be performed duringthe sampling 710 so that the N streams of blocks 1110 are produced inparallel as indicated by dashed lines. In this embodiment, there are Ndata streams processed in parallel by the transform, quantization andencoding modules, also see FIG. 11.

Transform

In a preferred embodiment of our invention, the 1D-DCT is used totransform the input signal from a spatial sample domain to a frequencydomain. The 1D-DCT does not compress the raw SAR data, but decorrelatesthe SAR data to facilitate more efficient compression. Relative to the2D-DCT the 1D-DCT has a lower complexity. Also, due to the nature of theraw SAR data, which resembles Gaussian noise, there is not a substantialgain provided by performing a 2D transformation, especially for smallblock sizes.

In our invention, the 1D-DCT is performed along rows of each block,which corresponds to range directions in the raw SAR data. Columnscorrespond to the azimuth angle. With a block size of 8×8, an 8×1 DCT isapplied to each row, and the eight rows of the 8×1 DCT coefficientstogether form our 8×8 block of transform coefficients.

QP Initialization

The QP is initialized according to the target bit-rate or compressionratio. The target compression ratio is determined from a giventransmission bandwidth, e.g., a target bit rate, and the size of raw SARdata without compression, in number of bits. The target compressionratio is an input parameter to our arithmetic encoder 360.

As shown in FIG. 5, an empirical relationship between a target bit rate501, a target compression ratio 502, and an initial QP 503 used in allblocks can be determined 330 from the training SAR data. Then, theinitial QP can be obtained via look-up on the table 500, based on thetarget compression ratio.

For applications that require finer control of the output bit-rate, theinitial QP can also be adjusted by the variance to better-allocate andutilize the available bit rate, and thus achieve a better overallcompression. This rate control procedure is described in further detailsbelow 340.

Adjusting the QP

The QP is adjusted for the purposes of maximizing compression qualityand rate control. The adjustment is mainly based on two factors, theblock data entropy, and the consumed or remaining number of bits. Higherentropy implies that more information is contained in the data block,thus a smaller QP should be applied for more conservative compression.Similarly, lower entropy implies that less information is contained inthe data block, and a larger QP should be applied for more aggressivecompression. Because the calculation of entropy is too complex forlow-cost hardware devices, the block variance is a good approximation ofthe entropy, and not as computationally demanding to calculate asentropy.

FIG. 6 shows a process 600 for adapting the QP 601 for each block, fromthe initial QP 602, based on two factors, namely the block variance 603,and a bit usage ratio. The block variance 603 is determined 320 from allsample values in the input block, e.g., the 256 samples in one 8×8block. Then, the variance is compared with a set of pre-definedthresholds 604 in the table 500 by look-up 610. These thresholds areempirically determined from the training SAR data, and are programmablefor specific devices.

Each threshold corresponds to a QP difference (ΔQp). This correspondenceis represented by the table 500. By comparing the variance and searchingthe table, the QP difference ΔQp(var) is determined 610. For example, ifthe variance is smaller than the first threshold, then the QP differenceΔQp(var) is set to be the first ΔQp in the table. The initial QP isdetermined as described above according to the target compression ratioand is used as the initial QP for all blocks of the raw SAR data. Byadding 620 the QP difference ΔQp(var) to the initial QP, the adjusted QPis obtained.

As described above, another factor that affects the QP is the bit usageratio. This adjustment could also be made when rate control is requiredand enforced. In order to determine the QP difference influenced by thebit usage ratio, i.e., ΔQp(rate), the estimated total bit usage is firstdetermined 630 from the number of blocks coded 605 and number of bitsconsumed 606 to encode the blocks. Then, the estimated total bit usageis 607 compared with target bit rate 608 to determine 640 the ΔQp(rate).The details on the method for calculating the total bit usage andΔQp(rate) are described below. The ΔQp(rate) is then added 650 to thepreviously adapted QP, i.e., the adjusted QP 601 is equal to the initialQP+ΔQp(var)+ΔQp(rate).

In order to examine the bit usage condition, three variables, i.e., thetotal number of blocks, the number of blocks that have been encoded 605,and the number of bits that have been consumed 606, are first obtainedfor estimating the total number of bits that will be approximatelyrequired to encode the raw SAR data 301. This approximation is thencompared with the target bit usage. If the approximated bit usage isgreater and exceeds a tolerance percentage, then the QP is increased.Otherwise, if the approximated bit usage is less than the target bitusage and exceeds the tolerance percentage, then the QP is decreased.

After each block is encoded, the total number of encoded blocks 605 andthe total number of consumed bits 606 are updated. Before quantizing thecurrent block, the approximate total number of bits 630 is determined by(number of consumed bits)/(number of coded blocks)×(number of totalblocks. Then the estimated total bit usage is compared to the target bitusage.

The ratio of (estimated total bits:target total bits) is determined. Ifthe ratio is greater then one, then the bit consumption is exceeding thebit budget. Otherwise, it is within the budget. By subtracting one fromthis ratio, the percentage of estimated total bits that are exceeding orbelow the target is given. This percentage is then divided by atolerance threshold in order to find out how many times the estimatedbit rate exceeds or is under a specified tolerance.

For example, if the application can tolerate 5% bit rate variance, whilethe ratio of estimated bit usage to target bit usage is 9%, then theestimation is ( 9/5) times above the tolerance.

Quantization

The transform coefficients are subject to the scalar quantization 350.The scalar quantization is a lossy compression, the larger the QP value,the coarser the compression quality.

In one embodiment, uniform scalar quantization is applied to alltransform coefficients obtained form the 1D-DCT. In a second embodimentof this invention, non-uniform quantization of the transformcoefficients is applied, where the QP value for the block is furthermodified by a quantization matrix that determines a non-uniform scalingfor each transform coefficient.

Parallel Arithmetic Coding

The quantized transform coefficients are losslessly encoded by ourmodified arithmetic encoder. One major drawback of the conventionalarithmetic encoding method is its sequential processing nature, whichmakes it unsuitable for low complexity devices and where a highthroughput is required. In the conventional method, the encoding has tobe performed symbol-by-symbol and block-by-block. The reason is that theencoding of one syntax element, e.g., a quantized transform coefficient,can depend on the following elements. In some cases, a number ofsuccessive elements are encoded jointly.

Without parallelization, block(n+1) is encoded after block(n), and thelast element of block(n) can be dependent on elements of block(n+1).That is, the bits to represent the last element of block(n) can dependon the first or later element in block(n+1), or a probability of thiselement. Furthermore, those bits can only be written to the bit streamafter the first or later element of block(n+1) is encoded.

Arithmetic encoding is a method for lossless data compression that usesvariable-length entropy encoding. Frequently used bit strings arerepresented by fewer bits, and infrequently used bit strings use morebits. In contrast with other entropy encoding techniques, such asHuffman encoding that separate the input data into component strings andreplace each string with a code word, arithmetic coding encodes theentire input data with a single code word, e.g., a fraction n in therange [0, 1]

Arithmetic encoding works as follows. First, we begin with a “currentinterval” [Low, High) initialized to [0, 1). Then, for each symbol (bitstring), perform two steps:

-   -   (a) Subdivide the current interval into subintervals, one for        each possible symbol, where the size of the subinterval is        proportional to the estimated probability of the symbol        according to the probability model; and    -   (b) Select the subinterval corresponding to the symbol that        actually occurs, and make it the new current interval. A        sufficient number of bits must be output to distinguish the        final current interval from all other possible final intervals.

Arithmetic encoding scales the cumulative probabilities given by theprobability model into the interval [Low, High) for each symbol encoded.When Low and High are very close together, so close that this scalingoperation maps some different symbols of the probability model onto thesame integer in the [Low, High) interval, the encoding cannot continueuntil the next symbol (or symbols) are encoded.

In arithmetic encoding, a bit can be written only when the first bit inLow and High are identical. If Low is 0 . . . and High is 0 . . . , thenwrite a zero bit, or if Low is 1 . . . and High is 1 . . . , then writea one bit. Thus, no bit can be written when Low is 01 and High is 10.This can happen when First-quarter≦Low<Half≦High<Third-quarter. In thiscase, the two bits for Low and High have opposite polarity, either 01 or10. For example, if the next bit turns out to be zero, i.e., Highdescends below Half and [0, Half] is expanded to the full interval, thefollowing bit is one, because the range of the interval has to be abovethe midpoint of the expanded interval. After the interval expansion, itis still possible to have First-quarter≦Low<Half≦High<Third-quarter. Inthis case, the arithmetic encoder continues to examine whether the nextLow and High have identical bits that can be written.

Conversely, if the next output bit is one, then the arithmetic coderwrites a zero bit afterwards. In this way, the interval can safely beexpanded. That is, when a bit can be output, it is followed by a certainnumber of bits of opposite parity. Sometimes, after one or more intervalexpansions, the [Low, High) still falls in the conditionFirst-quarter≦Low<Half≦High<Third-quarter. In this case, the number oftimes that the interval is expanded without writing any bits is recordedin a variable f. Then, when a bit is finally written, it is followed bya total number of f opposite parity bits. These bits are called followbits.

In order to break the dependency that is intrinsic to conventionalarithmetic encoding, and thus achieve parallelization, a compatibleencoding scheme writes the bits corresponding to the quantized transformcoefficients in a block after the last coefficient of each block isencoded, regardless of any elements in the next block.

In our invention, we describe an enhanced modified arithmetic codingthat uses a “stop mark” for a set of blocks. This eliminates thedependency between blocks and allows a parallel implementation. Theeffect is that multiple symbols, which correspond to quantized transformcoefficients in our invention, can be encoded concurrently. In order toachieve this, the coding dependencies among successive symbols arebroken. A consequence of this enhancement is that there are additionalredundant bits in the bitstream. Normally, the more independent thesymbols are encoded, the more flexible parallelization can be achievedat the cost of higher bit rate. In the following, we describe ablock-level parallel design, which provides a good tradeoff betweenencoding efficiency and parallelization.

Our invention achieves parallelization by invoking the followingprocess. If the “Low” from the last element (quantized transformcoefficient) is less than a quarter of the largest pre-defined possiblecode value, e.g., 65535, or 1 if normalized, then the arithmetic encoderwrites a zero bit, followed by (f+1) one bits, followed by a zero bit.Otherwise, if the last element is greater than or equals to a quarter ofthe largest pre-defined possible code, then the arithmetic encoderwrites a one bit, followed by (f+1) zero bits, then followed by a onebit. By writing this additional bit after the follow bits, the end ofeach block is independently encoded, and the symbols of the currentblock are unambiguously represented in binary form and without anyambiguity for the decoder regarding the symbol to be reconstructed.

The last bit is necessary if the decoder does not fully follow the fbits counting process as performed by the encoder. In the case that thedecoder does follow the f bits counting process as performed by theencoder, which incurs additional complexity, then it is not requiredthat the last bit be written to the output. With this approach, however,the encoding of the quantized transform coefficients of one block isstill independent of the quantized transform coefficients of asuccessive block.

FIG. 8 shows our parallel design for context adaptive arithmeticencoding with N arithmetic coding units 810 operating in parallel andutilizing the methods described above. A probability model 840 is usedfor each transform coefficient. An accurate probability model generallyyields better coding performance. In a static design, the probabilitymodel can be obtained from the training data and is not updated duringthe encoding.

In conventional adaptive arithmetic encoding, the probability model isupdated after each symbol is encoded. Then, the model is used to betterencode the next symbol. However, in our parallel design, updating themodel on a symbol-basis from multiple units is not manageable and couldcause read-write chaos under a race condition, i.e., the order of readsand writes could be undetermined.

In one embodiment of our invention, which as shown in FIG. 8, each ofthe arithmetic encoding units encodes, in parallel, one of the blocks inthe set of N blocks 830 of quantized transform coefficients based theprobability model 840 that is common among all arithmetic encodingunits. For this case, the model is updated 820 only after a delay 825when the encoding of the N blocks 830 is completed, while remainingstatic during the process of encoding all blocks in one cycle. Thisdesign also extends to the case in which the update is made after Nblocks are encoded over a predetermined period of time. The intermediatebitstreams of the encoders 810 are multiplexed 850 to produce the outputbitstream 302.

In a second embodiment of the invention, each of the arithmetic encodingunits encodes one block of quantized transform coefficients based on aspecified probability model that is specific to that unit andindependent from other units. Updates to the probability model for eachunit are performed independently and based only on data that theparticular unit encodes.

In both of the above embodiments, the probability model(s) could also beupdated 820 periodically, over time, based on the statistics ofpreviously encoded symbols.

To encode the quantized transform coefficients, which are in the range[−512/QP, +511/QP], one embodiment of our invention first adds an offsetof (512/QP) so that all coefficients to be encoded are in the range [0,1023/QP], and then apply arithmetic encoding as described above. Thisembodiment requires 1024/QP*N bits of memory for each probability model,where N is the number of bits to represent the probabilities for eachquantized transform coefficient in the probability model.

We realize that the probability distribution of quantized transformcoefficients is symmetric. Therefore, we can reduce the size of thememory by encoding the absolute value of the quantized transformcoefficients without the offset, i.e., the absolute value ofcoefficients in the range [−512/QP, +511/QP]. If the value is not zero,then an unencoded sign bit is written to the intermediate bitstream,separately. That is, the sign bits are not arithmetic encoded. Thischange effectively reduces the required memory for each probabilitymodel by at least a factor of two from 1024/QP*N to 512/QP*N. Theoverall memory savings can be greater if there are separate probabilitymodels for each quantized transform coefficient, and the implementationmight store several versions of the same table to satisfy timingrequirements for read/write operations.

Hardware Design

Field programmable gate arrays (FPGA) are typical for onboard SARprocessing. However, as compared to semi-custom ASIC and other customsilicon devices, FPGA performance is typically far more limited. Inparticular, radiation-tolerant and military application devicestypically have lower performance than state of art commercial devices.

As shown in FIG. 9 for a first embodiment of our invention, thecompression methods are implemented in a single FPGA 900. The advantageof this embodiment is that only a single piece of hardware is required.Although all processing is realized in the single FPGA 900, thearithmetic coding units are still implemented in parallel to satisfythroughput requirements.

As shown in FIG. 10 for a second embodiment of this invention, thecompression methods are realized with multiple FPGAs 1001-1002 to attaina higher throughput. This design partitions all front end operationsinto a single FPGA 1001. The arithmetic coding is then implemented inmultiple FPGAs 1002, each corresponding to a parallel channel. Thisdesign facilitates more flexibility between hardware and timing than thesingle FPGA design.

As shown in FIG. 11 for a third embodiment of the invention, the SAR aredemultiplexed and sampled 1101 into N streams of blocks. Each stream isprocessed in parallel by an independent FPGA 1102 to produce Nintermediate bit streams 1111, which are then multiplexed into thecompressed bitstream 302.

It is emphasized that the modified arithmetic encoding method accordingto the embodiments our invention enables the designs described above toattain high throughput through parallelization.

Comparison to Prior Art

In contrast to the prior art systems, our system has significantdifferences and advantages.

Compared to the conventional BAQ approach, our invention is morecomprehensive. In contrast with BAQ, which processes block adaptivequantization to raw data samples, our invention also involves a discretecosine transform, entropy coding and rate control. The quantization inour invention is performed in the frequency domain. Furthermore, thescalar quantization in our invention is different than the quantizationin BAQ, which is computational simpler and very efficient combined withentropy coding. With this comprehensive design, higher compressionratios are achievable without severe degradation of compression quality.

Relative to the FFT-ECBAQ method, our invention is different in severalways. First, a shorter length 1D-DCT is used to transform samples intothe frequency domain, which makes our encoding more practical andfeasible for limited complexity platforms. Compared with long size2D-FFT in FFT-ECBAQ, our invention significantly reduces the hardwarecomplexity. Thus, our invention can be implemented in one FPGA, withoutrequiring the accessibility to other external chips. The reason whyshorter transform size can be used in our invention, without severe lossof compression quality, is because that we use different block adaptivequantization scheme.

The quantization used by our invention is scalar quantization, whichapplies a uniform division of all DCT coefficients in the block. Thus,we do not need the block size to be large for bit allocation within oneblock, as performed in FFT-ECBAQ.

In fact, the bit allocation in our invention is among smaller sizedblocks, according to the block variance, as an approximation of blockentropy. This bit allocation “moves” more bits to blocks containing moreinformation, i.e., with greater variance, in order to achieve higheroverall quality.

We adapt the QP for a block with a rate control procedure. The type ofentropy coder in FFT-ECBAQ is not specified; whereas in our invention,we used arithmetic encoding for more efficient compression. Moreover,the arithmetic encoder and decoder used by our invention are modified toenable a parallel design.

Comparing to other prior art method, Such as BTC, our invention isdifferent and more advanced, by introducing a DCT, entropy coding andmore efficient quantization, with block-based bit allocation and ratecontrol. Our invention yields a much higher performance.

It is to be understood that various other adaptations and modificationscan be made within the spirit and scope of the invention. Therefore, itis the object of the appended claims to cover all such variations andmodifications as come within the true spirit and scope of the invention.

1. A method for compressing synthetic aperture radar (SAR) data,comprising the steps of: sampling the SAR data into blocks of SAR data;transforming each block of SAR data to a corresponding block oftransform coefficients; quantizing each block of transform coefficientaccording to a quantization parameter to obtain a corresponding block ofquantized transform coefficients; demultiplexing the blocks into sets ofblocks of quantized transform coefficients; encoding arithmetically andin parallel, the blocks in each set of blocks of the quantized transformcoefficients according to probability models to produce an intermediatebitstream for each set of blocks of quantized transform coefficients,where the encoding of the quantized transform coefficients of one blockis independent of the quantized transform coefficients of a successiveblock; and multiplexing the intermediate of bitstreams to a compressedbitstream, wherein the sampling, transforming, quantizing,demultiplexing, encoding, and multiplexing are performed in an apparatusincluding an encoder.
 2. The method of claim 1, in which a size of eachblock of SAR data is 8×8 or 16×16 pixels.
 3. The method of claim 1, inwhich the transforming uses a one-dimensional discrete cosine transform.4. The method of claim 1, further comprising: determining a variance foreach block of SAR data.
 5. The method of claim 4, in which thequantization parameter depends on the variance and a target bit rate orcompression ratio.
 6. The method of claim 4, further comprising:adjusting the quantization parameter according to the variance, apre-determined set of thresholds, and a bit usage ratio that is based onoutput bits of previously encoded blocks relative to the targetbit-rate, to yield an adjusted QP value.
 7. The method of claim 1, inwhich the quantizing is scalar.
 8. The method of claim 6, in which anumber of the output bits is provided as feedback to adjust thequantization parameter.
 9. The method of claim 1, further comprising:decoding the compressed bitstream to construct a SAR image.
 10. Themethod of claim 1, in which the transform coefficients are subject toscalar quantization, such that the scalar quantization is a lossycompression, in which a larger QP yields a coarser compression quality.11. The method of claim 1, in which the quantizing uses a quantizationmatrix that determines a non-uniform scaling for each transformcoefficient.
 12. The method of claim 1, in which the probability modelscorrespond to one probability model for each possible transformcoefficient.
 13. The method of claim 1, in which the probability modelsare updated after encoding the set of blocks.
 14. The method of claim 1,in which the encoding uses an arithmetic encoding unit for each block inthe set, and there are probability models for each arithmetic encodingunit.
 15. The method of claim 1, in which the method is implemented in asingle field programmable gate array.
 16. The method of claim 1, inwhich arithmetic encoding unit is implemented in a set of fieldprogrammable gate arrays, there being one field programmable gate arrayfor each block in the set.
 17. The method of claim 1, in which thequantizing is a uniform quantization.
 18. The method of claim 1, inwhich the quantizing is a non-uniform quantization.
 19. The method ofclaim 1 in which the encoding of the quantized transform coefficients ofone block is independent of the quantized transform coefficients of asuccessive block forcing the encoding of a last quantized transformcoefficient of the block and writing the corresponding bits to theintermediate bitstream.
 20. The method of claim 1, further comprising:determining the probability model from training data.
 21. The method ofclaim 1, in which there is a probability model for each transformcoefficient based on its position in the block and quantizationparameter.
 22. The method of claim 1, further comprising: updating theprobability models according to a distribution of previously encodedquantized transform coefficients.
 23. The method of claim 22, in whichthe updating is performed after encoding each quantized transformcoefficient.
 24. The method of claim 22, in which the updating isperformed after encoding each blocks.
 25. The method of claim 22, inwhich the updating is performed after encoding the set of blocks. 26.The method of claim 22, in which the updating is performed after apredetermined period of time.
 27. The method of claim 6, in which eachthreshold is a QP difference ΔQp further comprising: adjusting the QP bythe QP difference ΔQp before encoding a next block.
 28. The method ofclaim 5, further comprising: looking up the target bit rate in a tableobtained from training SAR data.
 29. The method of claim 1, furthercomprising: looking up the quantization parameter in a table obtainedfrom training SAR data.
 30. The method of claim 1, further comprising:adding an offset value to each quantized transform coefficients to makeall quantized transform coefficients positive.
 31. The method of claim1, in which the probability models corresponding to the quantizedtransform coefficients are symmetric about zero, and in which theencoding encodes an absolute value of each quantized transformcoefficient, and further comprising: writing an unencoded sign bit ofthe quantized transform to the intermediate bitstream to reduce memoryrequirements.
 32. The method of claim 1, in which the quantizationparameter for each block is encoded in the compressed bitstream.
 33. Anapparatus for encoding synthetic aperture radar (SAR) data, comprising:means for sampling the SAR data into blocks of SAR data; a transform,which transforms each block of SAR data to a corresponding block oftransform coefficients; a quantizer, which quantizes each block oftransform coefficient according to a quantization parameter to obtain acorresponding block of quantized transform coefficients; a demultiplexerconfigured to produce sets of blocks of quantized transformcoefficients; an arithmetic encoder configured to encode the blocks ineach set of blocks of the quantized transform coefficients in paralleland according to a probability model to produce an intermediatebitstream for each set of blocks of quantized transform coefficients,where the encoding of the quantized transform coefficients of one blockis independent of the quantized transform coefficients of a successiveblock; and a multiplexer configured to combine the intermediate ofbitstreams into a compressed bitstream.
 34. The apparatus of claim 33,in which the encoder is a implemented in a single field programmablegate array.
 35. The apparatus of claim 33, in which the encoder uses afield programmable gate array for each block of the set of blocks to beencoded in parallel.
 36. The apparatus of claim 33, in which the SARdata are demultiplexed and sampled into N streams of blocks, and eachstream of blocks is processed by a field programmable array in parallel.